// 《围棋》作者版权所有。版权所有。
// 此源代码的使用受BSD样式
// 许可证的约束，该许可证可以在许可证文件中找到。

// 开始：构建！goexperiment.staticlockranking 
// /+构建！goexperiment.staticlockranking 

package runtime

// /lockRankStruct嵌入互斥体中，但当staticlockranking为
// 禁用（默认值）
type lockRankStruct struct {
}

func lockInit(l *mutex, rank lockRank) {
}

func getLockRank(l *mutex) lockRank {
	return 0
}

func lockWithRank(l *mutex, rank lockRank) {
	lock2(l)
}

// 此函数可以在nosplit上下文中调用，因此必须为nosplit。
// go:nosplit 
func acquireLockRank(rank lockRank) {
}

func unlockWithRank(l *mutex) {
	unlock2(l)
}

// 此函数可以在nosplit上下文中调用，因此必须是nosplit。go:nosplit 
func releaseLockRank(rank lockRank) {
}

func lockWithRankMayAcquire(l *mutex, rank lockRank) {
}

func assertLockHeld(l *mutex) {
}

func assertRankHeld(r lockRank) {
}

// go:nosplit 
func worldStopped() {
}

// go:nosplit 
func worldStarted() {
}

// go:nosplit 
func assertWorldStopped() {
}

// go:nosplit 
func assertWorldStoppedOrLockHeld(l *mutex) {
}
